#include "Atlas/atlasimage.h"

AtlasImage::AtlasImage(QImage *image, QString id)
    : QGraphicsPixmapItem(QPixmap::fromImage(*image)){
    Initialize(image, id, 0, 0);
}

AtlasImage::AtlasImage(QImage *image, QString id, int x, int y)
    : QGraphicsPixmapItem(QPixmap::fromImage(*image)){
    Initialize(image, id, x, y);
}

void AtlasImage::Initialize(QImage *image, QString id, int x, int y){
    // Ces "flags" servent à définir le comportement par défault des QGRaphicsItem, et donc
    //  à permettre à ces dernier d'être sélectionnable et movible

    setFlag(QGraphicsItem::ItemIsSelectable);
    setFlag(QGraphicsItem::ItemIsMovable);
    setFlag(QGraphicsItem::ItemSendsGeometryChanges);

    m_Id        =   id;
    m_Image     =   image;
    m_OffsetX   =   x;
    m_OffsetY   =   y;
}

int AtlasImage::Width(){
    return m_Image->width();
}

int AtlasImage::Height(){
    return m_Image->height();
}

QString AtlasImage::Id(){
    return m_Id;
}

int AtlasImage::OffsetX(){
    return pos().x();
}

int AtlasImage::OffsetY(){
    return  pos().y();
}

uint AtlasImage::GetPixel(int x, int y){
    return m_Image->pixel(x,y);
}

void AtlasImage::mousePressEvent(QGraphicsSceneMouseEvent *event){
   // QGraphicsItem::mousePressEvent(event);
   /* QMessageBox mess;
    mess.setText(QString::number( event->pos().x()));
    mess.exec();*/

}

